package com.cskaoyan.javse.object._3equals;

/**
 * @description: BigDecimal类的使用
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import java.math.BigDecimal;

/**
 * BigDecimal对象可以表示不可变的、任意精度的有符号十进制数。
 * 使用它做小数的运算,不会出现精度问题
 *
 * 它最常用的,最常见的构造器:
 * BigDecimal(String val)
 *           将 BigDecimal 的字符串表示形式转换为 BigDecimal。
 *
 */
public class Demo2 {
    public static void main(String[] args) {
        double d1 = 1;
        double d2 = 0.9;
        double d3 = d1 - d2;
        System.out.println(d3);

        BigDecimal b1 = new BigDecimal("1");
        BigDecimal b2 = new BigDecimal("0.9");
        //subtract(BigDecimal subtrahend)
        //返回一个 BigDecimal，其值为 (this - subtrahend)，其标度为 max(this.scale(), subtrahend.scale())。
        BigDecimal b3 = b1.subtract(b2);
        System.out.println(b3);

    }
}
